package com.eastfair.home.service;

import com.eastfair.boot.service.SuperService;
import com.eastfair.home.dto.VenueReportDTO;
import com.eastfair.home.entity.VenueReport;
import com.eastfair.home.vo.VenueReportVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 一键报馆记录
 * </p>
 *
 * @author dq
 * @date 2022-10-31
 */
public interface VenueReportService extends SuperService<VenueReport> {

    /**
     * 查询主场报馆列表.
     *
     * @param query the query
     * @return the list
     */
    List<VenueReportVO> listVenueReportVO(VenueReportDTO query);

    /**
     * 查询主场报馆记录.
     *
     * @param query the query
     * @return the list
     */
    List<VenueReport> listVenueReport(VenueReportDTO query);

    /**
     * 展会ID，主场ID查询报馆记录中的展厅编码.
     *
     * @param exhibitionManageId the exhibition manage id
     * @param homeId             the home id
     * @return the list
     */
    List<String> listSpaceCodeByExhibitionManageId(Long exhibitionManageId, Long homeId);

    /**
     * 保存主场报馆记录.
     *
     * @param venueReportDTO the venue report dto
     * @return the venue report
     */
    VenueReport saveVenueReport(VenueReportDTO venueReportDTO);

    /**
     * 批量保存主场报馆记录.
     *
     * @param list the list
     * @return the boolean
     */
    boolean saveBatch(List<VenueReportDTO> list);

    /**
     * 更新主场报馆记录.
     *
     * @param venueReportDTO the venue report dto
     * @return the venue report
     */
    VenueReport updateVenueReport(VenueReportDTO venueReportDTO);

    /**
     * 更新报馆图纸状态.
     *
     * @param id the id
     * @return the boolean
     */
    boolean updateReportDrawingStatus(Long id);

    /**
     * 更新报馆服务状态.
     *
     * @param id the id
     * @return the boolean
     */
    boolean updateReportServiceStatus(Long id);

}
